package com.yunshan.welfare.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.yunshan.common.annotation.Excel;
import com.yunshan.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 优惠券发放详情对象 welfare_coupon_record
 *
 * @author yunshan
 * @date 2025-01-20
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class WelfareCouponRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 优惠券id */
    private Long couponId;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 优惠券名字 */
    @Excel(name = "优惠券名字")
    private String couponName;

    /** 电话 */
    @Excel(name = "电话")
    private String phone;

    /** 服务类型 */
    @Excel(name = "服务类型")
    private String serveType;

    /** 会籍类型：1业主会籍，2精英会籍，3公司会籍，4临时会籍 */
    @Excel(name = "会籍类型：1业主会籍，2精英会籍，3公司会籍，4临时会籍")
    private String memberType;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 使用时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "使用时间")
    private Date useTime;

    /** 会员id */
    private Long memberId;

    /** 会籍号 */
    @Excel(name = "会籍号")
    private Long memberNum;

    /** 状态0:未使用 1:已使用 */
    @Excel(name = "状态0:未使用 1:已使用")
    private Integer status;

    /** 是否删除0:未删除,1:删除 */
    private Integer isDeleted;

    /** 优惠券封面 */
    @Excel(name = "优惠券封面")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private String couponImg;

    /** 优惠券券码 */
    @Excel(name = "优惠券券码")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private String couponCode;

    /** 结束时间字符串 */
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private String endTimes;

    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private Integer num;

    /** 价格 */
    private BigDecimal price;
}
